<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>4.0.14 Change Log</title>
    <link rel="stylesheet" href="gettingStarted.css" type="text/css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
    <link rel="start" href="index.html" title="Berkeley DB Upgrade Guide" />
    <link rel="up" href="upgrade_4_0_toc.html" title="Chapter 10. Upgrading Berkeley DB 3.3 applications to Berkeley DB 4.0" />
    <link rel="prev" href="upgrade_4_0_disk.html" title="Upgrade Requirements" />
    <link rel="next" href="upgrade_3_3_toc.html" title="Chapter 11. Upgrading Berkeley DB 3.2 applications to Berkeley DB 3.3" />
  </head>
  <body>
    <div xmlns="" class="navheader">
      <div class="libver">
        <p>Library Version 11.2.5.3</p>
      </div>
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">4.0.14 Change Log</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="upgrade_4_0_disk.html">Prev</a> </td>
          <th width="60%" align="center">Chapter 10. Upgrading Berkeley DB 3.3 applications to Berkeley DB 4.0</th>
          <td width="20%" align="right"> <a accesskey="n" href="upgrade_3_3_toc.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="sect1" lang="en" xml:lang="en">
      <div class="titlepage">
        <div>
          <div>
            <h2 class="title" style="clear: both"><a id="changelog_4_0_14"></a>4.0.14 Change Log</h2>
          </div>
        </div>
      </div>
      <div class="toc">
        <dl>
          <dt>
            <span class="sect2">
              <a href="changelog_4_0_14.html#idp51113768">Major New Features:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_0_14.html#idp51101344">General Environment Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_0_14.html#idp51103296">General Access Method Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_0_14.html#idp51105152">Btree Access Method Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_0_14.html#idp51109416">Hash Access Method Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_0_14.html#idp51112664">Queue Access Method Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_0_14.html#idp51113832">Recno Access Method Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_0_14.html#idp51115760">C++ API Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_0_14.html#idp51126328">Java API Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_0_14.html#idp51116840">Tcl API Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_0_14.html#idp51117920">RPC Client/Server Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_0_14.html#idp51118608">XA Resource Manager Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_0_14.html#idp51118928">Locking Subsystem Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_0_14.html#idp51103680">Logging Subsystem Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_0_14.html#idp51122816">Memory Pool Subsystem Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_0_14.html#idp51109800">Transaction Subsystem Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_0_14.html#idp51113048">Utility Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_0_14.html#idp51125248">Database or Log File On-Disk Format Changes:</a>
            </span>
          </dt>
          <dt>
            <span class="sect2">
              <a href="changelog_4_0_14.html#idp51126712">Configuration, Documentation, Portability and Build Changes:</a>
            </span>
          </dt>
        </dl>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp51113768"></a>Major New Features:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Group commit. [#42]</li>
            <li>Single-master replication. [#44]</li>
            <li>Support for VxWorks AE; Vxworks support certified by WindRiver Systems Inc. [#4401]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp51101344"></a>General Environment Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>The db_env_set_pageyield interface has been replaced by a new flag (DB_YIELDCPU) for the DB_ENV-&gt;set_flags interface.</li>
            <li>The db_env_set_panicstate interface has been replaced by a new flag (DB_PANIC_STATE) for the DB_ENV-&gt;set_flags interface.</li>
            <li>The db_env_set_region_init interface has been replaced by a new flag (DB_REGION_INIT) for the DB_ENV-&gt;set_flags interface.</li>
            <li>The db_env_set_tas_spins interface has been replaced by the DB_ENV-&gt;set_tas_spins method.</li>
            <li>The DB_ENV-&gt;set_mutexlocks interface has been replaced by a new flag (DB_NOLOCKING) for the DB_ENV-&gt;set_flags interface.</li>
            <li>Fix a bug where input values from the DB_CONFIG file could overflow.</li>
            <li>The C API lock, log, memory pool and transaction interfaces have been converted to method based interfaces; see the Upgrade documentation for specific details. [#920]</li>
            <li>Fix a bug in which some DB_ENV configuration information could be lost by a failed DB_ENV-&gt;open command. [#4608]</li>
            <li>Fix a bug where Berkeley DB could fail if the application attempted to allocate new database pages while the system was unable to write new log file buffers. [#4928]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp51103296"></a>General Access Method Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Add a new flag (DB_GET_BOTH_RANGE) that adds support for range searches within sorted duplicate data sets. [#3378]</li>
            <li>Fix a bug in which the DB-&gt;get or DB-&gt;pget methods, when used with secondary indices, could incorrectly leave an internally-created database cursor open. [#4465]</li>
            <li>The DB-&gt;set_alloc method can no longer be called when the database is part of a database environment. [#4599]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp51105152"></a>Btree Access Method Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Fix a bug where a lock could be leaked when a thread calling DB-&gt;stat on a Btree database was selected to resolve a deadlock.  [#4509]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp51109416"></a>Hash Access Method Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Fix a bug where bulk return using the MULTIPLE_KEY flag on a Hash database would only return entries from a single bucket. [#4313]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp51112664"></a>Queue Access Method Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Delete extent files whenever the leading record is deleted, instead of only when a DB_CONSUME operation was performed. [#4307]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp51113832"></a>Recno Access Method Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Fix a bug where the delete of a record in a Recno database could leak a lock in non-transactional applications. [#4351]</li>
            <li>Fix a bug where the DB_THREAD flag combined with a backing source file could cause an infinite loop. [#4581]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp51115760"></a>C++ API Changes:</h3>
            </div>
          </div>
        </div>
        <div class="blockquote">
          <blockquote class="blockquote">None.</blockquote>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp51126328"></a>Java API Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Added implementation of DbEnv.lock_vec for Java. [#4094] Added some minimal protection so that the same Java Dbt cannot be used twice in the same API call, this will often catch multithreading programming errors with Dbts. [#4094]</li>
            <li>Fix a bug in which a Db.put call with the Db.DB_APPEND would fail to correctly return the newly put record's record number. [#4527]</li>
            <li>Fixed problems occurring in multithreaded java apps that use callbacks. [#4467]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp51116840"></a>Tcl API Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Fix a bug in which large integers could be handled incorrectly by the Tcl interface on 64-bit machines. [#4371]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp51117920"></a>RPC Client/Server Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>The DB_ENV-&gt;set_server interface has been removed.</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp51118608"></a>XA Resource Manager Changes:</h3>
            </div>
          </div>
        </div>
        <div class="blockquote">
          <blockquote class="blockquote">None.</blockquote>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp51118928"></a>Locking Subsystem Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>The C++ (Java) API DbLock::put (DbLock.put) method has been changed to be a method off the DbEnv handle rather than the DbLock handle.</li>
            <li>Locker IDs may now wrap-around. [#864]</li>
            <li>Explicitly allocated locker IDs must now be freed. [#864]</li>
            <li>Add per-environment, per-lock and per-transaction interfaces to support timeout based lock requests and "deadlock" detection.  [#1855]</li>
            <li>Add support for interrupting a waiting locker. [#1976]</li>
            <li>Implemented DbEnv.lock_vec for Java. [#4094]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp51103680"></a>Logging Subsystem Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Fix a bug where the size of a log file could not be set to the default value.  [#4567]</li>
            <li>Fix a bug where specifying a non-default log file size could cause other processes to be unable to join the environment and read its log files. [#4567]</li>
            <li>Fix a bug where Berkeley DB could keep open file descriptors to log files returned by the DB_ENV-&gt;log_archive method (or the db_archive utility), making it impossible to move or remove them on Windows systems. [#3969]</li>
            <li>Replace the log_get interface with a cursor into the log file. [#0043]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp51122816"></a>Memory Pool Subsystem Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Add the DB_ODDFILESIZE flag to the DB_MPOOLFILE-&gt;open method supporting files not a multiple of the underlying page size in length.</li>
            <li>Convert memp_XXX functional interfaces to a set of methods, either base methods off the DB_ENV handle or methods off of a DB_MPOOLFILE handle. [#920]</li>
            <li>Add the DB_ODDFILESIZE flag to the DB_MPOOLFILE-&gt;open method supporting files not a multiple of the underlying page size in length.</li>
            <li>Fix a bug where threads of control could deadlock opening a database environment with multiple memory pool caches. [#4696]</li>
            <li>Fix a bug where the space needed for per-file memory pool statistics was incorrectly calculated. [#4772]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp51109800"></a>Transaction Subsystem Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Transaction IDs may now wrap-around. [#864]</li>
            <li>Release read locks before performing logging operations at commit. [#4219]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp51113048"></a>Utility Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Fix a bug in which the db_dump utility would incorrectly attach to transaction, locking, or logging regions when salvaging, and thus could not be used to salvage databases in environments where these regions were present. [#4305]</li>
            <li>Fix a bug in which the DB salvager could produce incorrectly formatted output for certain classes of corrupt database. [#4305]</li>
            <li>Fix a bug in which the DB salvager could incorrectly salvage files containing multiple databases. [#4305]</li>
            <li>Fix a bug where unprintable characters in subdatabase names could cause a dump of a database that could not then be loaded. [#4688]</li>
            <li>Increase the size of the cache created by the db_stat and db_verify utilities to avoid failure on large databases.  [#4688] [#4787]</li>
            <li>Fix a bug in which a database verification performed with the DB_ORDERCHKONLY flag could fail incorrectly. [#4757]</li>
            <li>Fix a bug which caused db_stat to display incorrect information about GB size caches.  [#4812]</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp51125248"></a>Database or Log File On-Disk Format Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>The on-disk log format changed.</li>
          </ol>
        </div>
      </div>
      <div class="sect2" lang="en" xml:lang="en">
        <div class="titlepage">
          <div>
            <div>
              <h3 class="title"><a id="idp51126712"></a>Configuration, Documentation, Portability and Build Changes:</h3>
            </div>
          </div>
        </div>
        <div class="orderedlist">
          <ol type="1">
            <li>Fix a bug where Win9X systems region names could collide.</li>
            <li>Fix a bug where configuring Berkeley DB to build the C++ API without also configuring for a shared library build would fail to build the C++ library.  [#4343]</li>
            <li>Change Berkeley DB installation to not strip binaries if --enable-debug was specified as a configuration option. [#4318]</li>
            <li>Add the -pthread flag to AIX, FreeBSD and OSF/1 library loads. [#4350]</li>
            <li>Fix a bug where the Berkeley DB 1.85 compatibility API failed to load in the 3.3.11 release. [#4368]</li>
            <li>Port the Berkeley DB utility programs to the VxWorks environment. [#4378]</li>
            <li>Made change to configuration so that dynamic libraries link correctly when C++ is used on AIX. [#4381]</li>
            <li> Fix a variety of problems that prevented the Berkeley DB source tree from building on systems without ANSI C compiler support (for example, SunOS 4.X). [#4398]</li>
            <li>Added missing DbMultiple*Iterator Java files to Makefile.in. [#4404]</li>
            <li>Fix a bug that could prevent the db_dump185 utility from dumping Berkeley DB version 1.86 hash databases. [#4418]</li>
            <li>Reduce the number of calls setting the errno value, to improve performance on Windows/NT in MT environments.  [#4432]</li>
            <li>Fix for Darwin (and probably some other) OS's that were getting 'yes' or other garbage in generated makefiles in place of a shared library name. [#4453]</li>
            <li>C++: Remove inlining for constructor of tmpString internal class.  This fixes warnings on Solaris profiling builds. [#4473]</li>
            <li>DB now restarts system calls that are interrupted by signals. [#4480]</li>
            <li>Fixed warnings for compiling Java native code on Solaris and OSF/1. [#4571]</li>
            <li>Added better configuration for Java on Tru64 (OSF/1), Solaris,</li>
            <li> Java files are now built as jar files.  Berkeley DB classes are put into db.jar (which is an installed file on UNIX) and examples are put into dbexamples.jar.  The classes directory is now a subdirectory of the build directory, rather than in java/classes. [#4575]</li>
            <li>Support Cygwin installation process. [#4611]</li>
            <li>Correct the Java secondary_key_create method signature. [#4777]</li>
            <li>Export additional Berkeley DB interfaces on Windows to support application-specific logging and recovery. [#4827]</li>
            <li>Always complain when using version 2.96 of the gcc compiler. [#4878]</li>
            <li>Add compile and load-time flags to configure for threads on UnixWare and OpenUNIX. [#4552] [#4950]</li>
          </ol>
        </div>
      </div>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="upgrade_4_0_disk.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="upgrade_4_0_toc.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="upgrade_3_3_toc.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">Upgrade Requirements </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> Chapter 11. Upgrading Berkeley DB 3.2 applications to Berkeley DB 3.3</td>
        </tr>
      </table>
    </div>
  </body>
</html>
